package com.gable.report.service;


import com.gable.report.model.ChartsAreaQuery;
import com.gable.report.model.ChartsMaintainInfoView;
import com.gable.report.model.User;

import java.util.Map;

/**
 * Created by lvdouStart on 2017/7/26.
 * 区报表维修情况service接口
 */
public interface ChartsForAreaMaintainInfoService {


    /** 
     * @Author: 杨青桦
     * @Description:  医院或者设备类型概览框
     * @Date: 2017/7/27 13:20
     * @param user
     * @param chartsAreaQuery
     * @return
     * @throws Exception
     */
    Map<String,Object> queryAssetsForOverview(User user, ChartsAreaQuery chartsAreaQuery) throws Exception;

    /** 
     * @Author: 杨青桦
     * @Description:  
     * @Date: 2017/7/26 13:54
     * @param user
     * @param chartsAreaQuery
     * @return
     * @throws Exception
     */
    Map<String,Object> queryHospitals(User user, ChartsAreaQuery chartsAreaQuery) throws Exception;


    /** 
     * @Author: 杨青桦
     * @Description:  设备型号接口
     * @Date: 2017/7/28 17:22
     * @param user
     * @param chartsAreaQuery
     * @return
     * @throws Exception
     */
    Map<String,Object> queryDeviceModels(User user, ChartsAreaQuery chartsAreaQuery) throws Exception;



    /**
     * @Author: 杨青桦
     * @Description:  设备类型接口
     * @Date: 2017/7/26 13:54
     * @param user
     * @param chartsAreaQuery
     * @return
     * @throws Exception
     */
    Map<String,Object> queryDeviceTypes(User user, ChartsAreaQuery chartsAreaQuery) throws Exception;


    /** 
     * @Author: 杨青桦
     * @Description:  设备厂家列表
     * @Date: 2017/7/26 16:24
     * @param user
     * @param chartsAreaQuery
     * @return
     * @throws Exception
     */
    Map<String,Object> queryDeviceBrands(User user, ChartsAreaQuery chartsAreaQuery) throws Exception;


    /** 
     * @Author: 杨青桦
     * @Description:  维修情况月份显示
     * @Date: 2017/7/27 14:57
     * @param user
     * @param chartsAreaQuery
     * @return
     * @throws Exception
     */
    Map<String, Object> queryForMonth(User user, ChartsAreaQuery chartsAreaQuery) throws Exception;


    /** 
     * @Author: 杨青桦
     * @Description: 根据设备型号查找具体设备
     * @Date: 2017/7/28 17:17
     * @param user
     * @param chartsAreaQuery
     * @return
     * @throws Exception
     */
    Map<String, Object> queryDeviceInfoByModelName(User user, ChartsAreaQuery chartsAreaQuery) throws Exception;


    /**
     * @Author: 杨青桦
     * @Description:  查询具体维修记录
     * @Date: 2017/8/24 14:44
     * @return
     * @throws Exception
     */
    Map<String, Object> queryMaintainRecord(User user, ChartsAreaQuery chartsAreaQuery) throws Exception;

    /**
     * @Author: 杨青桦
     * @Description:  查询宕机记录
     * @Date: 2018/6/29 16:44
     * @param user
     * @param chartsAreaQuery
     * @return
     * @throws Exception
     */
    Map<String, Object> queryHaltRecord(User user, ChartsAreaQuery chartsAreaQuery) throws Exception;

    /**
     * @Author: 杨青桦
     * @Description:  获取总资产情况共用方法
     * @Date: 2018/5/30 14:46
     * @param user
     * @param chartsAreaQuery
     * @return
     * @throws Exception
     */
    ChartsMaintainInfoView getAllAssets(User user, Map paramMap, ChartsAreaQuery chartsAreaQuery) throws Exception;


    void setCommonTemp(User user,ChartsAreaQuery chartsAreaQuery)throws Exception;
}
